<script setup lang="ts">
import ContactFloat from '@/components/ContactFloat.vue'
</script>

<template>
  <div class="app-container">
    <router-view v-slot="{ Component, route }">
      <transition name="fade" mode="out-in">
        <component :is="route.meta.keepAlive ? 'keep-alive' : 'div'">
          <component :is="Component" />
        </component>
      </transition>
    </router-view>
    <ContactFloat />
  </div>
</template>

<style>
.app-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}
</style>
